home *** CD-ROM | disk | FTP | other *** search
- TESTNET.EXE Version 2.20 03-23-1991
- (c) 1987,1991
-
- By Scott Taylor
- 228 Gold Kettle Drive
- Gaithersburg, MD. 20878
- (301) 921-0437
-
-
- **************************************************************************
- *** THIS UTILITY IS GRANTED FOR USE BY THE GENERAL PUBLIC, BUSINESSES, ***
- *** AND VENDORS. IT IS PROVIDED FREE OF CHARGE! ITS USE IS INTENDED TO ***
- *** PROMOTE THE UNDERSTANDING AND OPERATIONS OF LOCAL AREA NETWORKS ***
- *** AND HOW THEY RELATE TO DIFFERENT ENVIRONMENTAL CHARACTERISTICS. ***
- *** THE SOURCE CODE WILL BE MADE AVAILABLE UPON REQUEST. ***
- *** ***
- *** USE OF THIS PROGRAM ACKNOWLEDGES THIS DISCLAIMER OF WARRANTY: ***
- *** "THIS PROGRAM IS SUPPLIED AS IS. THE AUTHOR LISTED ABOVE DISCLAIMS ***
- *** ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, AND WITHOUT ***
- *** LIMITATION, THE WARRANTIES OF MERCHANTABILITY AND OF FITNESS OF ***
- *** THIS PROGRAM FOR ANY PURPOSE. THE AUTHOR LISTED ABOVE ASSUMES NO ***
- *** LIABILITY FOR DAMAGES DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT ***
- *** FORM THE USE OF THIS PROGRAM." ***
- **************************************************************************
-
-
- TESTNET: This utility is intended to test the performance of Local Area
- Networks within the realm of file I/O activity. It may also be used to test
- stand alone PC's or to compare the two environments. This application has been
- designed to allow for many different testing options, primarily to give more
- real time results. This utility should also be used as a tool to gauge
- performance while applications and tests are running on other nodes in a
- network. TESTNET can also be used in conjunction with low-level packet
- analysis programs such as The Sniffer or LANalyzer for problem determination.
- It is important to remember that benchmarking Local Area Networks is far from
- an exact science. However this test will give you relative performance
- statistics.
-
- The program checks for the existence of Novell's NetWare. If Novell is running
- TESTNET will display the version of NetWare underwhich it is running. Also,
- if the test is running under a NetWare environment the filename being used for
- the test will have the same extension as the station number in the network.
-
- In version 2.10 each of the time sensitive routines, such as low-level file
- I/O and timing, have been rewritten in Assembler and optimized to provide
- greater accuracy and lower overhead in calculating throughput. I tried to
- eliminate as many non-essential instructions as possible in the timing
- process. TESTNET is now in its 7th revision and 2nd generation. Most of the
- recent changes have been made due to response from different LAN
- Hardware/Software vendors.
-
-
-
-
- RESULTS OF THE TESTS
- (See EXAMPLE-3 For A Sample Test Result)
-
- The valuable results of this test will show the total elapsed time in seconds
- and total throughput in KB/sec transferred between the disk. An additional
- feature is a display bar graph of total throughput for each iteration in
- kilobytes per second. The bar graph has been enhanced since version 1.4. A
- bright, or highlighted, bar represents the current throughput. A darker, or
- shaded, bar extension represents the peak throughput for the currently running
- test. Version 2.20 now displays a PASS counter beside the test filename. This
- is used in conjunction with the REPEAT TEST mode. Every time the test repeats
- the PASS counter will be incremented.
-
- TESTING TECHNIQUES
-
- NOTE: It is important to remember that test results will vary depending on
- several of the following conditions: the speed of the CPU used for testing;
- the speed of the disk or controller; if caching is employed; the type of
- network adapter and topology; the amount of CPU instructions used in the test;
- any TSR's, or memory resident utilities, that check interrupts or timer ticks;
- and more importantly the type of test and parameters being used. There is no
- precise method of determining how a system should perform. This test utility
- will allow you to compare relative environments and operating systems. Please
- consider all these factors when performing comparative tests!
-
- Using a SEQUENTIAL file access method tests server disk and caching
- performance. Using OVERLAID file access tests reflects more of the network
- interface performance as well as local (workstation) cache techniques. Larger
- record sizes are handled more efficiently by most operating systems
- (especially DOS). Using larger record sizes (4K and up) demonstrates overall
- throughput. Smaller record sizes demonstrate the operating systems ability to
- deal with small record blocks. A good example would be to run this test from
- a local workstation C: drive. Then run it again from that workstation but to
- a network drive. Usually you will see a significant increase in performance.
- Also try running the test with the VERIFY option on/off. This is another good
- example, especially for comparing different server hardware (disk, memory,
- cpu). This is especially useful on Novell networks since the server console
- displays performance characteristics. If using NetWare 2.10 or greater,
- FCONSOLE will give some useful information. To compare hard disks generate a
- file size, using Testnet, that is larger than the total memory installed in
- the server. Then you can compare throughput times displayed by Testnet. This
- way the file size is to large to fit in cache memory and tests raw disk I/O.
-
- To compare CPU's (as servers) or cache memory generate a file size, using
- Testnet, that is approximately 512K smaller than the total memory installed
- in the server. Then set Testnet to read the file. This will test the raw CPU
- & Cache memory performance. Then you can compare the throughput displayed by
- Testnet. It is best to use a large record size (eg. 32768), this will use the
- least amount of CPU instruction overhead for performing the actual I/O. As the
- test is in progress you can monitor the server console for peak "I/O PENDING"
- and peak "% UTILIZATION."
-
-
-
- MAIN MENU SCREEN FUNCTIONS
- (See EXAMPLE-1 Below To View A Sample Of The Main Menu Screen)
-
- MENU: Press the UP and DOWN arrow keys to highlight a menu option. Press
- RETURN to select a highlighted option, then input the desired value for that
- option. Instructions accompany each menu option when the RETURN key is
- pressed. <ESC> will exit TESTNET to the operating system.
-
-
- RUNNING THE TEST: From the main menu pressing the <F1> key starts the test in
- single station, or stand alone mode.
-
-
- RUNNING MULTIUSER TESTS: MULTI-STATION testing requires that SHARE be
- installed, unless you're running Novell's NetWare. This is because aggregate
- results are tallied in a file that uses record locking. Pressing <F2> sets the
- station into the MULTI-STATION test mode. Simply press <F1> when the last
- station is set into the MULTI-STATION test mode, then all stations activated
- will begin testing. A new feature since version 1.4 is the ability to use
- identical test parameters during MULTI-STATION testing. This is achieved by
- pressing <F4> instead of <F1>. Pressing <F4> from the last node will cause all
- nodes to start testing with that station's test parameters. Once the MULTI-
- STATION testing begins each station will then show its average throughput
- to/from the file server. All stations running in the MULTI-STATION mode must
- be able to access the same root directory. A new feature in version 2.10 is
- the ability to stop or restart all stations from a single node. Once MULTI-
- STATION testing has begun, and repeat testing was selected, pressing the
- <ESCAPE> key on any node will cause testing to stop on all nodes. TESTNET will
- then prompt with "Continue Testing (Y/N)." Pressing <Yes> will cause all other
- nodes to enter MULTI-STATION testing mode again. You may then change test
- parameters if desired and re-enter MULTI-USER test mode. Pressing the <No> key
- will cause all nodes to exit back to the operating system (DOS, OS/2, Windows,
- etc.)
-
- Another new feature since version 2.10 is the display of aggregate and average
- throughput. This function has a watch-dog timer built in that checks for nodes
- that do not report. For example, if a node crashes or does not complete the
- tests, the other nodes will consider that station dead and will continue
- testing without it. The timeout period is two minutes after the last node
- reported.
-
- Version 2.20 now has a command line option, \M, to enter MULTI-STATION mode.
- Using this will allow a test node to start up in MULTI-STATION mode without
- any keystroke intervention. This is especially useful when starting network
- stations from a batch file. Example: type 'TESTNET /M' <return>.
-
-
- RESULTS REVIEW: The <F4> key is used to view a record of all the tests that
- have been performed at a particular station. This feature has been modified
- in TESTNET since version 2.20. Pressing <F4> will display all current test
- data (see EXAMPLE-4 for a sample data screen). This is data that is kept in
- memory. Up to 500 test results can now be displayed. If more than 750 tests
- have been performed, the remainder is ignored. This function is separate from
- the Data Recording Function because that function saves its data to a file.
- While viewing the test data the UP and DOWN arrow keys will scroll through the
- data. Pressing <ESCAPE> will return to the Main Menu Screen. Pressing <F1>
- will print all of the tests results in memory to a printer.
-
- SPECIAL OPTIONS MENU: A new sub menu has been added to TESTNET 2.20. This is
- activated by pressing the <F3> key at the main menu screen. The same menu keys
- apply, as in the MAIN MENU (arrow keys, return key, and escape key). See
- example-5 for a sample of the Special Options Menu screen. The SPECIAL OPTIONS
- sub menu provides four functions as follows:
-
-
- BIT PATTERN: This option allows you to select a bit pattern to be used
- in the data buffer for writing to disk. You may select your own byte
- value between 0 and 255, or choose the random option. The random option
- will randomly select a byte value (0 - 255) for each byte of the data
- buffer. The default is 255. Changing the byte pattern may have little or
- no effect on test results, but can have an additional value when used in
- conjunction with packet/data analyzers.
-
- FILE SIZE: The file size option is a utility to select a file size or
- byte length count. Simply enter the desired file size in Kilobytes. The
- utility will then calculate the number of repetitions needed to achieve
- that size (up to 10000). This is accomplished by dividing the file size
- by the current record size and rounding up to the nearest multiple of the
- record size. This can be especially useful for creating sequential files
- that need to fit within a cache memory limit.
-
- BEST BUFFER: This utility will test all record sizes between 1024 and
- 65535 in 1K increments returning the optimum performing buffer size. When
- prompted, select an appropriate number of iterations from 20 - 100. The
- larger the number the more accurate the result will be. Be aware that a
- large number of iterations will require much more time to execute. The
- results of this test will vary depending on changing operating system
- environments such as TSR's, LAN traffic, multi tasking, etc.
-
- DATA RECORDING: The state of the recording function (Enabled or Disabled)
- is displayed just above the MAIN MENU instruction area. This will record
- historical data to a file. This data file will be created in the root of
- the volume, or drive, on which you are testing. You should take care to
- make sure that all stations testing have access rights to the root of
- the volume or drive. The data file is TESTFILE.DAT, and is used by all
- stations. The test data is written to the file at the end of each test
- cycle. If Repeat Testing has been selected, the data is written each time
- the test restarts. See EXAMPLE-6 at the end of this document for a sample
- printout. This data can be used comparatively. You can easily sort out
- the information by using the DOS SORT utility. At the DOS prompt, type
- in the following "TYPE TESTFILE.DAT|SORT > LPT1:". This will redirect
- the sorted information to the LPT1 printer port. You can also replace
- the 'LPT1:' with a file name to have the sorted information dumped into
- a file for viewing.
-
-
-
-
- MENU OPTIONS
- (See EXAMPLE-1 Below To View A Sample Of The Main Menu)
-
-
- REPEAT TESTING: This will allow testing to be repeated over and over again
- until the <ESCAPE> key is pressed at which point testing will discontinue.
- This option will also work in the MULTI-STATION test mode.
-
-
- I/O DELAY CYCLE: This option is used to create run/stop periods. There are
- actually two fields to this. The first is for defining how long transactions
- will be exchanged, in seconds, before the test period is delayed. The second
- option is for defining how long each delay cycle will last, in seconds. The
- values are between 0 and 10 seconds. If 0 is indicated in any field any delay
- at all will be negated. This option is useful for creating a pulsed like
- environment that more closely resembles a true network environment. You might
- set the run cycle to 5 seconds and the delay period to 10 seconds for example.
- This means that data is exchanged for 5 seconds, then stops for 10. And this
- is repeated until all the iterations have been completed. This will not affect
- the time counter in any way. This is an excellent way to measure the amount
- of degradation in a hard working environment. Of course you can set many
- different operating variables to produce different results, depending on what
- type of network conditions you wanted to simulate.
-
-
- RECORD SIZE: TESTNET version 2.10 has increased the record size from 32768 to
- 65535 bytes. The record size is the size of each block to be read or written,
- each time the disk is accessed for I/O. The values range from 1 byte to 65535
- bytes. The most common physical block size for most disks is 4K (4096).
- Although, some operating systems, such as NetWare 386, are adjustable.
-
-
- REPETITIONS: Repetitions represents how many times the record, or buffer, will
- be transacted (read or written). The values range from 1 to 10000 iterations.
-
-
- I/O: This is the type of file I/O transactions that will occur. It determines
- if you want to Read, Write, or Alternate (switch between Write & Read).
-
-
- FILE: This determines how the file will be accessed. Either Sequential access
- (each record is appended to the end of the previous one), or Overlay access
- (meaning each record overlays the previous one).
-
-
- RECORD MANIPULATION: This is how the record size will be maintained. The
- record will remain the same size (STD). It can increment from 1 to the value
- specified (INC). It can also decrement from the value specified down to 1
- (DEC), as well as be set to a random value between 1 and the value set (RAND).
-
-
- Any questions, comments, or suggestions are welcomed !
-
-
- *********************** EXAMPLE-1 (Main Menu Screen) ************************
-
- TESTNET.EXE Version 2.20 03-23-1991 By Scott Taylor
- Operating Environment| NetWare 386 V3.10 Rev. A
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ ┌────────────────────────────────────────────────────────────────────────┐ ║
- ║ │ TESTNET - THE NETWORK & STANDALONE FILE I/O PERFORMANCE TESTER │ ║
- ║ └────────────────────────────────────────────────────────────────────────┘ ║
- ║ ┌─────────────────────────────────────┐ ▌DATA RECORDING DISABLED▐ ║
- ║ │ REPEAT TESTING <YES - NO> ▌ NO │ ║
- ║ │ I/O DELAY CYCLES <0 - 10> ▌ 0 \ 0 │ <ESC> = Exit to system ║
- ║ │ RECORD SIZE <1 - 65535> ▌ 4096 │ <F1> = Start Testing ║
- ║ │ REPETITIONS <1 - 10000> ▌ 1000 │ <F2> = Start Multi-Station Test ║
- ║ │ I/O <1=READ 2=WRITE 3=ALT> ▌ 2 │ <F3> = Enable Data Recording ║
- ║ │ FILE <1=SEQUENTIAL 2=OVL> ▌ 1 │ <F4> = Display Test Results ║
- ║ │ RECORD MANIPULATION STYLE ▌ 4 │ <> & <> = Select Menu Option ║
- ║ │ <1=INC 2=DEC 3=RAND 4=STD> ▌ │ <ENTER> = Enter Data For Option ║
- ║ └─────────────────────────────────────┘ ║
- ╟────────────────────────────────────────────────────────────────────────────╢
- ║ ║
- ║ ║
- ║ ║
- ║ ║
- ║ ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
-
- **************** EXAMPLE-2 (Multi-Station Mode Option Screen) *****************
-
- TESTNET.EXE Version 2.20 03-23-1991 By Scott Taylor
- Operating Environment| NetWare 386 V3.10 Rev. A
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ ┌────────────────────────────────────────────────────────────────────────┐ ║
- ║ │ TESTNET - THE NETWORK & STANDALONE FILE I/O PERFORMANCE TESTER │ ║
- ║ └────────────────────────────────────────────────────────────────────────┘ ║
- ║ ┌─────────────────────────────────────┐ ▌DATA RECORDING DISABLED▐ ║
- ║ │ REPEAT TESTING <YES - NO> ▌ NO │ ║
- ║ │ I/O DELAY ╔═════════════════════════════════════════════════╗m ║
- ║ │ RECORD SIZ║ ║ ║
- ║ │ REPETITION║ ═══ MULTI-STATION TESTING MODE ═══ ║ation Test ║
- ║ │ I/O <1=REA║ ║cording ║
- ║ │ FILE <1=SE║ ║esults ║
- ║ │ RECORD MAN║ This mode is to allow multiple stations ║nu Option ║
- ║ │ <1=INC 2=D║ to run the I/O tests at the same time. ║For Option ║
- ║ └───────────║ ║ ║
- ╟─────────────║ All stations to participate in the test ║────────────╢
- ║ ║ should be set into this mode (pressing ║ ║
- ║ ║ <F2> from the main screen). To begin ║ ║
- ║ ║ testing, press <F1> from one of the work ║ ║
- ║ ║ stations activated. All nodes will then ║ ║
- ║ ║ start testing. Pressing <F4> will cause ║ ║
- ╚═════════════║ all nodes to begin testing with the same ║════════════╝
- ║ set of test parameters. <ESC> WILL ABORT! ║
- ╚═════════════════════════════════════════════════╝
- ****************** EXAMPLE-3 (Sample Testing/Results Screen) ******************
-
- TESTNET.EXE Version 2.20 03-23-1991 By Scott Taylor
- Operating Environment| NetWare 386 V3.10 Rev. A
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ ┌────────────────────────────────────────────────────────────────────────┐ ║
- ║ │ TESTNET - THE NETWORK & STANDALONE FILE I/O PERFORMANCE TESTER │ ║
- ║ └────────────────────────────────────────────────────────────────────────┘ ║
- ║ ┌─────────────────────────────────────┐ ▌DATA RECORDING DISABLED▐ ║
- ║ │ REPEAT TESTING <YES - NO> ▌ YES │ ║
- ║ │ I/O DELAY CYCLES <0 - 10> ▌ 0 \ 0 │ -FILENAME- -PASS- ║
- ║ │ RECORD SIZE <1 - 65535> ▌ 65535 │ TESTFILE.001 #001 ║
- ║ │ REPETITIONS <1 - 10000> ▌ 100 │ ╔════════════════════════════╗ ║
- ║ │ I/O <1=READ 2=WRITE 3=ALT> ▌ 2 │ ║ NODES IN TEST # 1 ║ ║
- ║ │ FILE <1=SEQUENTIAL 2=OVL> ▌ 2 │ ║ NODES REPORTED # 1 ║ ║
- ║ │ RECORD MANIPULATION STYLE ▌ 4 │ ║ AVERAGE KB/SEC # 219.77 ║ ║
- ║ │ <1=INC 2=DEC 3=RAND 4=STD> ▌ │ ║ AGGREGATE KB/SEC # 219.77 ║ ║
- ║ └─────────────────────────────────────┘ ╚═══════[ COMPLETED ]════════╝ ║
- ╟────────────────────────────────────────────────────────────────────────────╢
- ║ TIME = 29 I/O COUNT = 100 TOTAL BYTES = 6553500 KB/SEC = 219.77 ║
- ║ ║
- ║ KB/ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ ║
- ║ SEC ┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴▄┴ ║
- ║ 0 20 40 60 80 100 120 140 160 180 200 220 240 260 ║
- ╚════════════════════════════════════════════════════════════════════════════╝
- Total Seconds = 29.12
-
-
- ************* EXAMPLE-4 (Sample Display Of Cumulative Test Data) *************
-
- TESTNET.EXE Version 2.20 03-23-1991 By Scott Taylor
- Operating Environment| NetWare 386 V3.10 Rev. A
-
- ╔ NODE PASS OPERATION I/O TIME BUFFER I/O COUNT TOTAL BYTES KB/SEC ╗
- ║ ║
- ║ 001 001 WRITE SEQ 9.12 4096 500 2048000 219.28 ║
- ║ 001 002 WRITE SEQ 9.12 4096 500 2048000 219.28 ║
- ║ 001 003 WRITE SEQ 9.12 4096 500 2048000 219.28 ║
- ║ 001 004 WRITE SEQ 9.12 4096 500 2048000 219.28 ║
- ║ 001 001 READ SEQ 8.96 4096 500 2048000 223.31 ║
- ║ 001 002 READ SEQ 8.79 4096 500 2048000 227.50 ║
- ║ 001 003 READ SEQ 8.74 4096 500 2048000 228.93 ║
- ║ 001 001 ALTERNATE OVL 8.90 4096 250 2048000 224.69 ║
- ║ 001 002 ALTERNATE OVL 8.96 4096 250 2048000 223.31 ║
- ║ 001 003 ALTERNATE OVL 8.96 4096 250 2048000 223.31 ║
- ║ ║
- ║ ║
- ╟ ╢
- ║ ║
- ║ ║
- ║ ║
- ║ ║
- ║ ║
- ╚ [ ESC-Key To Exit ] [ F1-Key To Print ] ╝
-
- ************* EXAMPLE-5 (Sample Display Of Special Options Menu) *************
-
-
- TESTNET.EXE Version 2.20 03-23-1991 By Scott Taylor
- Operating Environment| NetWare 386 V3.10 Rev. A
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ ┌──────────────────────────────────────────────────────────┐ ║
- ║ │ BIT PATTERN FILE SIZE BEST BUFFER DATA RECORDING │ ║
- ║ │┌────────────┐┌────────────┐┌─────────────┐┌─────────────┐│ ║
- ║ ││ 255 ││ 4096000 ││ 16384 ││ DISABLED ││ ║
- ║ │└────────────┘└────────────┘└─────────────┘└─────────────┘│ ║
- ║ └──────────────────────────────────────────────────────────┘ ║
- ║ ║
- ║ ║
- ║ ║
- ║ ║
- ║ ║
- ║ ║
- ║ This option is provided to allow you to select the byte pattern to ║
- ╟ be used in the test buffer for writing to disk. You may select your ╢
- ║ own pattern from 0 - 255 or select the random option to have a ║
- ║ randomized mixed byte pattern. The default is 255 ║
- ║ ║
- ║ ║
- ║ ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
-
-
- ********* EXAMPLE-6 (Sample Printout Of Recorded Data File Results) **********
-
- TYPE TESTFILE.DAT
-
- NODE PASS OPERATION I/O TIME BUFFER I/O COUNT TOTAL BYTES KB/SEC
- 001 001 WRITE SEQ 6.04 32768 100 3276800 529.45
- 001 001 READ SEQ 5.99 32768 100 3276800 534.31
- 001 002 READ SEQ 5.99 32768 100 3276800 534.31
- 001 003 READ SEQ 5.99 32768 100 3276800 534.31
- 001 001 ALTERNATE OVL 21.76 65535 100 13107000 588.27
- 001 002 ALTERNATE OVL 21.70 65535 100 13107000 589.76
- 001 003 ALTERNATE OVL 21.70 65535 100 13107000 589.76
-
-
-